home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / psion / src.doc / unsorted / sprfil / sprfiles.txt
Text File  |  1984-10-06  |  25KB  |  855 lines

  1.  
  2.  
  3.             
  4.                        Series 3/MC Spreadsheet File Format
  5.             
  6.  
  7.             This document describes the structure of .SPR files used
  8.             by the MC and Series 3 spreadsheets. It is based around a
  9.             similar document produced specifically for V1.07f and
  10.             1.08f of the MC spreadsheet.
  11.  
  12.  
  13.             
  14.              Header
  15.             
  16.  
  17.             The spreadsheet starts with the following header:
  18.  
  19.                  TEXT fid[16]="SPREADSHEET" packed with zeros
  20.                  UWORD vers=0
  21.                  UWORD offset=0
  22.                  UWORD rtvers=0
  23.  
  24.             This header must be supplied exactly for current versions
  25.             of the spreadsheet to load the file.
  26.  
  27.  
  28.             
  29.              Records
  30.             
  31.  
  32.             The remainder of the file consists of type/length
  33.             records:
  34.  
  35.                  UWORD type     the type of the following record
  36.                  UWORD len   the length of the following record
  37.                  Record Data    len bytes
  38.  
  39.             The structure of the record data is dependent on the
  40.             record type and currently the following types are defined
  41.  
  42.                       1         Formula
  43.                       2         Cell contents
  44.                       3         Column width
  45.                       4         Default column width
  46.                       5         Status information
  47.                       6         Display information
  48.                       7         Named range
  49.                       8         Print range
  50.                       9         Database/criteria ranges
  51.                       10        Table
  52.                       11        Print setup (MC)
  53.                       12        Font (MC)
  54.                       13        Graph (S3)
  55.                       14        Current graph index (S3)
  56.                       15        Font palette (S3)
  57.                       16        Print data (S3)
  58.                       17        Printer model (S3)
  59.  
  60.  
  61.  
  62.                                         Page - 1
  63.  
  64.  
  65.        Series3/MC spreadsheet file format
  66.  
  67.                       18        Header text (S3)
  68.                       19        Footer text (S3)
  69.                       20        Screen extras (S3)
  70.                       
  71.  
  72.             As indicated some of the above types are specific to the
  73.             MC version and some to the Series 3.
  74.  
  75.             By and large records can appear in any order, there are
  76.             currently just two exceptions to this. All formulae
  77.             records (type 1) must appear before the cells (type 2)
  78.             that access them, and the order in which they appear
  79.             should be preserved. The Screen Extras record (type 20),
  80.             when present, should immediately precede the Display
  81.             information record (type 6), if not it will be ignored.
  82.  
  83.             Some record types may appear many times and not all
  84.             record types need be present, an indication of which are
  85.             which is given in the following sections.
  86.  
  87.             Withinrecords range references specify top left, botton
  88.             right cells in terms of columns and rows. These refernces
  89.             are inclusive, i.e. {{0,0},{1,2}} is a range A1:B3.
  90.  
  91.  
  92.             
  93.              Formula record (type 1, length variable)
  94.             
  95.  
  96.             Formulae are stored seperately from the cells that use
  97.             them. This allows memory savings to be made by storing
  98.             only one copy of a commonly used formula.
  99.  
  100.             The record data for a formula is structured as follows:
  101.  
  102.               UWORD   use       usage count
  103.               UBYTE   len       formula length
  104.               UBYTE   form[len]
  105.  
  106.             The formula is stored in Reverse Polish Notation. All
  107.             operands are preceeded by a byte that identifies their
  108.             type. There is no difference between the way functions
  109.             and operators are treated; both are identified by a
  110.             single byte following the operands they act on.
  111.  
  112.             Brackets are stored as entered and are ignored when
  113.             evaluating formulae. They are supplied only so that
  114.             formulae can be reproduced as typed in.
  115.  
  116.             The RPN structure is broken for one set of functions.
  117.             These are the functions acting upon variable length lists
  118.             (AVG, COUNT, MAX, MIN, STD, SUM and VAR). The have Start
  119.             and End tokens either side of the arument list and each
  120.             operand within the list is preceded by a special token.
  121.  
  122.             The tokens used in formulae are as follows:
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                                         Page - 2
  129.  
  130.  
  131.        Series3/MC spreadsheet file format
  132.  
  133.             Operators
  134.  
  135.                  0x01 Less than
  136.                  0x02 Less than or equal
  137.                  0x03 Greater than
  138.                  0x04 Greater than or equal
  139.                  0x05 Not equal
  140.                  0x06 Equal
  141.                  0x07 Add
  142.                  0x08 Subtract
  143.                  0x09 Multiply
  144.                  0x0a Divide
  145.                  0x0b Power
  146.                  0x0c Unary plus
  147.                  0x0d Unary minus
  148.                  0x0e Logical not
  149.                  0x0f Logical and
  150.                  0x10 Logical or
  151.                  0x11 String concatinate
  152.  
  153.  
  154.             Delimiters
  155.  
  156.                  0x12 Open bracket
  157.                  0x13 Close bracket
  158.                  0x14 Comma
  159.                  0x15 End of formula
  160.  
  161.  
  162.             Operands
  163.  
  164.                  0x16 Double constant (IEEE floating point number)
  165.                  0x17 Integer constant (WORD)
  166.                  0x18 Text string (Leading byte counted string)
  167.                  0x19 Cell reference (WORD col, WORD row)
  168.                  0x1a Range reference (WORD tlCol, WORD tlRow, WORD
  169.             brCol, WORD brRow)
  170.  
  171.             Column or row references can either be absolute or
  172.             relatuve, dependent on the top bit of the WORD. If the
  173.             top bit is set (TRUE) the reference is relative,
  174.             otherwise, the reference is absolute. Relative references
  175.             are treated as a signed offset (ignoring the top bit)
  176.             from the cell which uses the formula. NOTE cell A1 is
  177.             0,0.
  178.  
  179.  
  180.             Functions
  181.  
  182.             In the following, 'x' refers to a numeric argument, 'str'
  183.             a string and 'range' a range reference.
  184.  
  185.                  0x1b Err
  186.                  0x1c False
  187.                  0x1d Na
  188.                  0x1e Pi
  189.                  0x1f Rand
  190.                  0x20 Now
  191.  
  192.  
  193.  
  194.                                         Page - 3
  195.  
  196.  
  197.        Series3/MC spreadsheet file format
  198.  
  199.                  0x21 True
  200.                  0x22 Abs(x)
  201.                  0x23 Acos(x)
  202.                  0x24 Asin(x)
  203.                  0x25 At(str)
  204.                  0x26 Atan(x)
  205.                  0x27 Cellpointer(x)
  206.                  0x28 Char(x)
  207.                  0x29 Code(str)
  208.                  0x2a Cols(range)
  209.                  0x2b Cos(x)
  210.                  0x2c Datevalue(str)
  211.                  0x2d Day(x)
  212.                  0x2e Exp(x)
  213.                  0x2f Hour(x)
  214.                  0x30 Int(x)
  215.                  0x31 Iserr(range)
  216.                  0x32 Isna(range)
  217.                  0x33 Isnum(range)
  218.                  0x34 Isstr(range)
  219.                  0x35 Len(str)
  220.                  0x36 Ln(x)
  221.                  0x37 Log(x)
  222.                  0x38 Lower(str)
  223.                  0x39 Minute(x)
  224.                  0x3a Month(x)
  225.                  0x3b N(range)
  226.                  0x3c Proper(str)
  227.                  0x3d Rows(range)
  228.                  0x3e S(range)
  229.                  0x3f Second(x)
  230.                  0x40 Sin(x)
  231.                  0x41 Sqrt(x)
  232.                  0x42 Tan(x)
  233.                  0x43 Timevalue(str)
  234.                  0x44 Trim(str)
  235.                  0x45 Upper(str)
  236.                  0x46 Value(str)
  237.                  0x47 Year(x)
  238.                  0x48 Atan2(x,x)
  239.                  0x49 Cell(x,range)
  240.                  0x4a Exact(str,str)
  241.                  0x4b Irr(x,x)
  242.                  0x4c Left(str,x)
  243.                  0x4d Mod(x,x)
  244.                  0x4e Npv(x,x)
  245.                  0x4f Not used
  246.                  0x50 Repeat(str,x)
  247.                  0x51 Right(str,x)
  248.                  0x52 Round(x,x)
  249.                  0x53 String(x,x)
  250.                  0x54 Cterm(x,x)
  251.                  0x55 Date(x,x)
  252.                  0x56 Davg(range,x,range)
  253.                  0x57 Dcount(range,x,range)
  254.                  0x58 Dmax(range,x,range)
  255.                  0x59 Dmin(range,x,range)
  256.                  0x5a Dstd(range,x,range)
  257.  
  258.  
  259.  
  260.                                         Page - 4
  261.  
  262.  
  263.        Series3/MC spreadsheet file format
  264.  
  265.                  0x5b Dsum(range,x,range)
  266.                  0x5c Dvar(range,x,range)
  267.                  0x5d Find(str,str,x)
  268.                  0x5e Fv(x,x,x)
  269.                  0x5f Hlookup(x,range,x)
  270.                  0x60 If(x,x,x)
  271.                  0x61 Index(range,x,x)
  272.                  0x62 Mid(str,x,x)
  273.                  0x63 Pmt(x,x,x)
  274.                  0x64 Pv(x,x,x)
  275.                  0x65 Rate(x,x,x)
  276.                  0x66 Sin(x)
  277.                  0x67 Term(x,x,x)
  278.                  0x68 Time(x,x,x)
  279.                  0x69 VLookup(range,x,x)
  280.                  0x6a Ddb(x,x,x,x)
  281.                  0x6b Replace(str,x,x,str)
  282.                  0x6c Syd(x,x,x,x)
  283.                  0x6d End of avg()
  284.                  0x6e End of choose()
  285.                  0x6f End of count()
  286.                  0x70 End of max()
  287.                  0x71 End of min()
  288.                  0x72 End of std()
  289.                  0x73 End of sum()
  290.                  0x74 End of var()
  291.                  0x75 Start of avg()
  292.                  0x76 Start of choose()
  293.                  0x77 Start of count()
  294.                  0x78 Start of max()
  295.                  0x79 Start of min()
  296.                  0x7a Start of std()
  297.                  0x7b Start of sum()
  298.                  0x7c Start of var() 
  299.                  0x7d Range in avg()
  300.                  0x7e Range in choose()
  301.                  0x7f Range in count()
  302.                  0x80 Range in max()
  303.                  0x81 Range in min()
  304.                  0x82 Range in std()
  305.                  0x83 Range in sum()
  306.                  0x84 Range in var() 
  307.                  0x85 Cell in avg()
  308.                  0x86 Cell in choose()
  309.                  0x87 Cell in count()
  310.                  0x88 Cell in max()
  311.                  0x89 Cell in min()
  312.                  0x8a Cell in std()
  313.                  0x8b Cell in sum()
  314.                  0x8c Cell in var()
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.                                         Page - 5
  327.  
  328.  
  329.        Series3/MC spreadsheet file format
  330.  
  331.             
  332.              Cell record (type 2, length variable)
  333.             
  334.  
  335.                  UWORD  column    Cell co-ordinates (Note A1 is 0,0)
  336.                  UWORD  row
  337.                  UBYTE  flags     See below
  338.                  UBYTE  format    See below
  339.                  Contents
  340.  
  341.  
  342.             Flags
  343.  
  344.             This byte contains information about the display
  345.             alignment of the cell and the type of the cell.
  346.  
  347.                  Xþþþþþþþ  This bit is used by the natural order sort
  348.             and should be left as is.
  349.                  þXþþþþþþ  Changed flag, TRUE iff the cell has
  350.             changed since the last recalc.
  351.                  þþXþþþþþ  Numeric alignment, 1 left aligned, 0 right
  352.             aligned.
  353.                  þþþXXþþþ  Text alignment, 00 repeated, 01 left, 10
  354.             right, 11 centered
  355.                  þþþþþXXX  Cell type, defines the format of the
  356.             contents data as follows:
  357.  
  358.             
  359.  
  360.             000 (0) Blank
  361.  
  362.                  This cell contains only the format data shown above
  363.             and has no contents data.
  364.  
  365.             
  366.  
  367.             001 (1) Double
  368.  
  369.                  Cell contains a floating point constant. The
  370.             Contents data is:
  371.  
  372.                  DOUBLE value
  373.  
  374.             
  375.  
  376.             010 (2) Text
  377.  
  378.                  Cell contains a text constant:
  379.  
  380.                  UBYTE len   Length of the text
  381.                  TEXT buf[len]    Len bytes for the string
  382.  
  383.             
  384.  
  385.             011 (3) Integer
  386.  
  387.                  Integer constant:
  388.  
  389.  
  390.  
  391.  
  392.                                         Page - 6
  393.  
  394.  
  395.        Series3/MC spreadsheet file format
  396.  
  397.                  WORD value
  398.  
  399.             
  400.  
  401.             101 (5) Double formula
  402.  
  403.                  The cell contains a formula which evaluates to a
  404.             numeric result. Within the file formulae are referred to
  405.             by index within the file. This is the reason why the
  406.             formulae should not be rearranged in an existing file.
  407.             The contents data is as follows:
  408.  
  409.               WORD formula   Number of the associated formula
  410.               DOUBLE val     IEE format, the current value in the
  411.               cell
  412.  
  413.             
  414.  
  415.             110 (6) Text formula
  416.  
  417.                  The cell contains a formula which evaluates to a
  418.             text result:
  419.  
  420.               WORD formula   Formula index within the file
  421.               UBYTE len    Length of the current text value
  422.               TEXT buf[len]  The current contents of the cell
  423.  
  424.             
  425.  
  426.  
  427.             Format
  428.  
  429.             The format byte notes whether or not the cells is
  430.             currently protected and in what way numeric values should
  431.             be displayed.
  432.  
  433.                  Xþþþþþþþ  Set if the cell is currently protected.
  434.                  þXXXXXXX  Gives the numeric display format as
  435.             follows:
  436.  
  437.             
  438.  
  439.                  þ000XXXX  Fixed (XXXX dps)
  440.                  þ001XXXX  Scientific (XXXX dps)
  441.                  þ010XXXX  Currency (XXXX dps)
  442.                  þ011XXXX  Percentage (XXXX dps)
  443.                  þ100XXXX  Comma (XXXX dps)
  444.                  þ1110000  Bargraph
  445.                  þ1110001  General
  446.                  þ1110010  Date (Lotus DD-MM-YY)
  447.                  þ1110101  Show formulae
  448.                  þ1110110  Hidden
  449.                  þ1110111  Time (Lotus HH:MM:SS)
  450.                  þ1111111  Default
  451.  
  452.             
  453.  
  454.  
  455.  
  456.  
  457.  
  458.                                         Page - 7
  459.  
  460.  
  461.        Series3/MC spreadsheet file format
  462.  
  463.             NOTE: For the MC this is the full extent of the cell
  464.             record. In files generated on the Series 3 there is an
  465.             extra byte following the cell details which contains the
  466.             font number 0-3. In the Series 3 spreadsheet the precence
  467.             of this byte is detected by comparing the length of the
  468.             record with the calculated length of the cell header and
  469.             the value details.
  470.  
  471.  
  472.             
  473.              Column Width (type 3, length 2)
  474.             
  475.  
  476.             This record will appear for each column that is nopt of
  477.             the default width.
  478.  
  479.                  UBYTE column   The column number (0 for column A)
  480.                  UBYTE width
  481.  
  482.  
  483.             
  484.              Default column width (type 4, length 2)
  485.             
  486.  
  487.                  UWORD width    Width to be used for all columns
  488.               which there is no type 3 record
  489.  
  490.  
  491.             
  492.              Status Information (type 5, length 4)
  493.             
  494.  
  495.             Various information concerning the spreadsheet as a
  496.             whole.
  497.  
  498.               UWORD flags  See below
  499.               UBYTE defForm     Numeric display format for cells set
  500.               to default (see Cells)
  501.               UBYTE defAlign    Default text and numeric alignments
  502.               for new cells (see Cells)
  503.  
  504.             Flags
  505.  
  506.                  þþþþþþþX       Set if auto recalc is ON
  507.                  þþþþþþXþ       Set is protection override is on
  508.                  þþþþþXþþ       Set if cells have been deleted since
  509.             last recalc
  510.                  þþþþXþþþ       Set if Table recalc is on
  511.  
  512.  
  513.             
  514.              Display Information (type 6, length 26)
  515.             
  516.  
  517.             Contains the current state of the display for the
  518.             spreadsheet:
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                                         Page - 8
  525.  
  526.  
  527.        Series3/MC spreadsheet file format
  528.  
  529.                  UWORD titleTlCol Range for the titles
  530.                  UWORD titleTlRow
  531.                  UWORD titleBrCol
  532.                  UWORD titleBrRow
  533.                  UWORD topCol
  534.                  UWORD topRow
  535.                  UWORD selTlCol   Select range
  536.                  UWORD selTlRow
  537.                  UWORD selBrCol
  538.                  UWORD selBrCol
  539.                  UWORD cursorCol Position of cursor
  540.                  UWORD cursorRow
  541.                  UBYTE lines    True if grid lines are to be
  542.               displayed
  543.                  UBYTE hideZeros True if zero values are hidden
  544.  
  545.  
  546.             
  547.              Named range (type 7, length 26)
  548.             
  549.  
  550.             Specifies a range or cell to be associated with a name.
  551.             There may be any number of such records in a file.
  552.  
  553.                  TEXT name[16]         Zero terminated text string
  554.                  UWORD range_left_column    The range associated with
  555.               name
  556.                  UWORD range_top_row
  557.                  UWORD range_right_column
  558.                  UWORD range_bottom_row
  559.                  UWORD type            25 cell reference, 26 range
  560.               reference
  561.  
  562.             NOTE: The values for type match the tokens used in
  563.             formulae, hence the strange values.
  564.  
  565.  
  566.             
  567.              Print range (type 8, length 8)
  568.             
  569.  
  570.             Specifies one of the range to be offered for selective
  571.             printing. There may be any number of such records in the
  572.             file.
  573.  
  574.                  UWORD range_left_column    The range
  575.                  UWORD range_top_row
  576.                  UWORD range_right_column
  577.                  UWORD range_bottom_row
  578.  
  579.  
  580.             
  581.              Database, criterion settings (type 9, length 16)
  582.             
  583.  
  584.             Specifies the criterion and database ranges to be used by
  585.             the database commands. This record type need not appear
  586.             in the file and since only one database/criterion range
  587.  
  588.  
  589.  
  590.                                         Page - 9
  591.  
  592.  
  593.        Series3/MC spreadsheet file format
  594.  
  595.             can be active at any time if more than one record of this
  596.             type appears in the file only the last will be used.
  597.  
  598.                  UWORD crit_left_col   Criterion range
  599.                  UWORD crit_top_row
  600.                  UWORD crit_right_col
  601.                  UWORD crit_bottom_row
  602.                  UWORD dbase_left_col     Database range
  603.                  UWORD dbase_top_row
  604.                  UWORD dbase_right_col
  605.                  UWORD dbase_bottom_row
  606.  
  607.  
  608.             
  609.              Table information (type 10, length 16)
  610.             
  611.  
  612.             This record type need not appear and if more than one are
  613.             present only the last will be used.
  614.  
  615.                  UWORD range_left_col     Table range
  616.                  UWORD range_top_row
  617.                  UWORD range_right_col
  618.                  UWORD range_bottom_row
  619.                  UWORD input1_col    Input cell 1
  620.                  UWORD input1_row
  621.                  UWORD input2_col    Input cell 2
  622.                  UWORD input2_row
  623.  
  624.             For table 2 both input cells are valid. For table 1
  625.             input2_col must be set to 0xffff (65535).
  626.  
  627.  
  628.             
  629.              Print setup (type 11, length 2)
  630.             
  631.  
  632.                  UWORD type
  633.  
  634.                  þþþþþþþþX      TRUE show value, FALSE show formulae
  635.                  þþþþþþþXþ      If TRUE, show hidden cells
  636.                  þþþþþþXþþ      If TRUE, show column seperators
  637.                  þþþþþXþþþ      If TRUE, show headers
  638.  
  639.  
  640.             
  641.              Font (type 12, length  18)
  642.             
  643.  
  644.                  UWORD type
  645.                  TEXT name[16]       Font name
  646.  
  647.  
  648.             Style
  649.  
  650.                  þþþþþþþX       Bold
  651.                  þþþþXþþþ       Double height
  652.  
  653.  
  654.  
  655.  
  656.                                         Page - 10
  657.  
  658.  
  659.        Series3/MC spreadsheet file format
  660.  
  661.             
  662.              Graph (type 13, length variable)
  663.             
  664.  
  665.             There may be any number of such record defining the
  666.             graphs.
  667.  
  668.                  TEXT name[16]  Zero terminated name for the graph
  669.                  UWORD A_range[4]  A data range left_col, top_row,
  670.               right_col, bottom_row
  671.                  UWORD B_range[4]
  672.                  UWORD C_range[4]
  673.                  UWORD D_range[4]
  674.                  UWORD E_range[4]
  675.                  UWORD F_range[4]
  676.                  UWORD X_range[4]
  677.                  UWORD A_labels[4]   Range containing labels for data
  678.               set A
  679.                  UWORD B_labels[4]
  680.                  UWORD C_labels[4]
  681.                  UWORD D_labels[4]
  682.                  UWORD E_labels[4]
  683.                  UWORD F_labels[4]
  684.                  UBYTE fmts[6]
  685.                  UBYTE aligns[6]
  686.                  UBYTE xAxisScaling
  687.                  UBYTE xAxisFormat
  688.                  DOUBLE xAxisLowerLimit
  689.                  DOUBLE xAxisUpperLimit
  690.                  UBYTE yAxisScaling
  691.                  UBYTE yAxisFormat
  692.                  DOUBLE yAxisLowerLimit
  693.                  DOUBLE yAxisUpperLimit
  694.                  UBYTE graphType
  695.                  UBYTE gridFlags
  696.                  UBYTE colour
  697.                  UBYTE rangeFlags
  698.                  UBYTE labelFlags
  699.                  UBYTE otherFlags
  700.                  WORD skip
  701.                  The strings
  702.  
  703.             The strings are 10 zero terminated strings packed
  704.             consectutively after main graph stucture. They are:
  705.  
  706.                       First line of title - max length 40
  707.                       Second line of title - max len 40
  708.                       Title for x axis - max len 40
  709.                       Title for y axis - max len 40
  710.                       Legend for A range - max len 20
  711.                       .
  712.                       .
  713.                       .
  714.                       Legend for F range - max len 20
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.                                         Page - 11
  723.  
  724.  
  725.        Series3/MC spreadsheet file format
  726.  
  727.             
  728.              Current graph index (type 14, length 2)
  729.             
  730.  
  731.                  UWORD curGraph
  732.  
  733.             Determines which graph is the 'current' graph, i.e. the
  734.             one selected by the USE GRAPH menu item. 0 is the first
  735.             graph.
  736.  
  737.  
  738.             
  739.              Font pallete  (type 15, length)
  740.             
  741.  
  742.                  SCRLAY_FONT fonts[4]
  743.  
  744.             Each SCRLAY_FONT structure determines which font to use,
  745.             whether or not it is BOLD etc. The first corresponds to
  746.             font 1, the second top font 2 etc.
  747.  
  748.  
  749.             
  750.              Print data (type 16, length 58)
  751.             
  752.  
  753.             This record contains information required to format the
  754.             document for the printer. It includes, amongst other
  755.             items, descriptions of the page size and margins, the
  756.             page numbering style, header and footer position and
  757.             alignment. The detailed description of this record is
  758.             outside the scope of this document.
  759.  
  760.  
  761.             
  762.              Printer model (type 17, length variable)
  763.             
  764.  
  765.                  UBYTE modelIndex
  766.                  TEXT ztsModel
  767.  
  768.             The record consists of a zero terminated string,
  769.             containing the full path name of the current printer
  770.             driver file, preceded by a one byte index to the printer
  771.             model within the file.
  772.  
  773.             The default value is:
  774.                  0
  775.                  "ROM::\BJ.WDR"
  776.  
  777.  
  778.             
  779.              Header text (type 18, length variable)
  780.             
  781.  
  782.                  TEXT zts
  783.  
  784.  
  785.  
  786.  
  787.  
  788.                                         Page - 12
  789.  
  790.  
  791.        Series3/MC spreadsheet file format
  792.  
  793.             A zero terminated string containing the text used for
  794.             page headers when printing.
  795.  
  796.  
  797.             
  798.              Footer text (type 19, length variable)
  799.             
  800.  
  801.                  TEXT zts
  802.  
  803.             A zero terminated string containing the text used for
  804.             page footers when printing.
  805.  
  806.  
  807.             
  808.              Screen extras (type 20, length 2)
  809.             
  810.  
  811.                  UWORD flags
  812.  
  813.                  000000þX       Set if grid labels are shown
  814.                  000000Xþ       Set if small font is used
  815.             
  816.  
  817.             This record immediately precede the display information
  818.             record (type 6) if it is to have any effect when the file
  819.             is loaded.
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.                                         Page - 13
  855.